<?php

namespace app\admin\controller\vbot;

use think\Hook;

/**
 * 微信机器人调用例子
 */
class Example
{

    /*使用模板发送消息*/
    public function example1()
    {
        $template_id = 1;//模板ID

        Hook::listen('vbot_send_msg', $template_id);

        // 方法二，listen方法的第4个参数设置为true，则返回值为一维数组        
        /*$res = Hook::listen('vbot_send_msg',$template_id,[],true);
		if ($res['errcode'] != 0) {
        	echo $res['errmsg'];
        }*/
    }

    /*
     * 先实例化，再调用模板发送消息
     * 此方式，可以传递第三个参数：模板变量键值对
     * 若模板变量已预先定义,则会自动获取值,无需在此传递,若有传递,则会覆盖预定义的模板变量
     * 若模板变量没有在后台预先定义,则会从您传递的参数三中查找
     */
    public function example3()
    {
        $template_id = 'test_tpl';// 模板ID或Code

        $vbot = new \addons\vbot\Vbot();
        $vbot->vbotSendMsg($template_id, [], [
            'dynamic_variable' => '赋值成功~'
        ]);
    }

    public function run()
    {
        return 'run';
    }

    /*此方法用于演示:模板变量的值设置为方法的情况*/
    public function test($params)
    {
        return '我是 Example 下面的 test 方法 -> ' . $params;
    }

    /*
     * 若您发现模板不能满足您的需求，可以模板为基础，再随时自定义消息的数据
     * 通常在通知中的数据变化多端时使用
     * 必须设置模板ID或Code，首先会调用模板内的所有数据，自定义数据再覆盖到模板数据上
     * 以下字段根据消息类型不同，需要的字段也不尽相同，详见注释
     */
    public function example2()
    {
        $template_id = 1;//模板ID

        // 覆盖数据，所有字段均为可选，不填则取模板的数据
        Hook::listen('vbot_send_msg', $template_id, [
            'robot_ids'    => '发送机器人',// 将机器人ID以小写逗号分隔格式如:1,2
            'content'      => '自定义消息内容',// 文本、markdown、图文 拥有此属性
            'picurl_image' => '',// 自定义图片URL，只图片拥有此属性
            'news'         => [
                'title'  => '自定义链接标题',
                'url'    => '自定义链接URL',
                'picurl' => '自定义链接图片URL'
            ],// 自定义图文组，图文类型的消息，拥有此属性
            'at_mobiles'   => '1388888888',// 要at的人的手机号,','号分隔，只文本拥有此属性
            'is_atall'     => 1,// 是否at所有人，只文本拥有此属性
        ]);
    }
}